{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "mounted-chess",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.13.2 | packaged by conda-forge | (main, Feb 17 2025, 14:10:22) [GCC 13.3.0]\n",
      "2025.09.1\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import sys\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from rdkit import rdBase, Chem, DataStructs\n",
    "from rdkit.Chem import AllChem, Draw, Descriptors, PandasTools, rdMolDescriptors, QED\n",
    "from rdkit.Chem.SpacialScore import SPS\n",
    "sys.path.append(os.path.join(os.environ['CONDA_PREFIX'],'share','RDKit','Contrib'))\n",
    "from SA_Score import sascorer\n",
    "from NP_Score import npscorer\n",
    "\n",
    "PandasTools.RenderImagesInAllDataFrames(True)\n",
    "from rdkit.Chem.Draw import IPythonConsole\n",
    "\n",
    "import math\n",
    "from scipy.stats import pearsonr, spearmanr\n",
    "from scipy import stats\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "print(sys.version)\n",
    "print(rdBase.rdkitVersion)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "21d30ab7-829d-41d8-8d6d-a0d81d214cc2",
   "metadata": {},
   "source": [
    "## Reading molecules"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "bea2330d-bab3-4401-a7cc-4c28cbe79e52",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7306756a3a70>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "imatinib = Chem.MolFromSmiles('Cc1ccc(NC(=O)c2ccc(CN3CCN(C)CC3)cc2)cc1Nc1nccc(-c2cccnc2)n1')\n",
    "imatinib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1575b869-f64c-46ce-988f-75036850ec7c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "RDKit313",
   "language": "python",
   "name": "rdkit313"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
